Returns the first key and it's associated value.
            
            
            
Syntax
            
						
            
            
            
            
Example
BPlusTree/BPlusTree.Test/BasicTests.cs
             | C# |  Copy Code | 
|---|
using (BPlusTree<int, string> data = Create(Options))
{
    data.Add(1, "a");
    data.Add(2, "b");
    data.Add(3, "c");
    data.Add(4, "d");
    data.Add(5, "e");
    Assert.AreEqual(1, data.First().Key);
    Assert.AreEqual("a", data.First().Value);
    data.Remove(1);
    Assert.AreEqual(2, data.First().Key);
    Assert.AreEqual("b", data.First().Value);
    Assert.AreEqual(5, data.Last().Key);
    Assert.AreEqual("e", data.Last().Value);
    data.Remove(5);
    Assert.AreEqual(4, data.Last().Key);
    Assert.AreEqual("d", data.Last().Value);
    data.Remove(4);
    data.Remove(3);
    KeyValuePair<int, string> kv;
    Assert.IsTrue(data.TryGetLast(out kv));
    Assert.IsTrue(data.TryGetFirst(out kv));
    data.Remove(2);
    Assert.IsFalse(data.TryGetLast(out kv));
    Assert.IsFalse(data.TryGetFirst(out kv));
    try { data.First(); Assert.Fail("Should raise InvalidOperationException"); }
    catch (InvalidOperationException) { }
    try { data.Last(); Assert.Fail("Should raise InvalidOperationException"); }
    catch (InvalidOperationException) { }
} | 
 
| VB.NET |  Copy Code | 
|---|
Using data As BPlusTree(Of Integer, String) = Create(Options)
    data.Add(1, "a")
    data.Add(2, "b")
    data.Add(3, "c")
    data.Add(4, "d")
    data.Add(5, "e")
    Assert.AreEqual(1, data.First().Key)
    Assert.AreEqual("a", data.First().Value)
    data.Remove(1)
    Assert.AreEqual(2, data.First().Key)
    Assert.AreEqual("b", data.First().Value)
    Assert.AreEqual(5, data.Last().Key)
    Assert.AreEqual("e", data.Last().Value)
    data.Remove(5)
    Assert.AreEqual(4, data.Last().Key)
    Assert.AreEqual("d", data.Last().Value)
    data.Remove(4)
    data.Remove(3)
    Dim kv As KeyValuePair(Of Integer, String)
    Assert.IsTrue(data.TryGetLast(kv))
    Assert.IsTrue(data.TryGetFirst(kv))
    data.Remove(2)
    Assert.IsFalse(data.TryGetLast(kv))
    Assert.IsFalse(data.TryGetFirst(kv))
    Try
        data.First()
        Assert.Fail("Should raise InvalidOperationException")
    Catch generatedExceptionName As InvalidOperationException
    End Try
    Try
        data.Last()
        Assert.Fail("Should raise InvalidOperationException")
    Catch generatedExceptionName As InvalidOperationException
    End Try
End Using | 
 
 
            
            
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
 
            
            
See Also